﻿using WindMill.Models.Cadastro;
using System;
using System.Linq;

namespace WindMill.Models.Cadastro
{
    public partial class Moeda
    {
        public static decimal MaiorCotacao(EDMCadastro context, int codMoeda,DateTime dataMax){

            try
            {
                var ultimaCotacao = context.Cotacoes.Where(c => c.MoedaId == codMoeda && c.DataCotacao <= dataMax).Max(c => c.DataCotacao);

                var cotacaoDia = context.Cotacoes.First(c => c.MoedaId == codMoeda && c.DataCotacao == ultimaCotacao);

                return cotacaoDia.ValorCotacao ?? 0;
            }
            catch
            {
                throw new Exception("Não foi possível buscar a cotação da moeda");
            }

        }
    }
}
